package com.xaicode.auth.service;

import com.xaicode.auth.base.BaseMpService;
import com.xaicode.auth.entity.SysRole;
import com.xaicode.auth.security.domain.dto.SysRoleDto;
import com.xaicode.auth.security.domain.params.SysRoleQueryParam;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @author zhaoeryu
 * @since 2023/5/31
 */
public interface ISysRoleService extends BaseMpService<SysRole> {

    PageInfo<SysRole> queryPage(SysRoleQueryParam query);

    List<SysRole> queryList(SysRoleQueryParam query);


    void createRole(SysRoleDto entity);

    void updateRole(SysRoleDto entity);


    List<String> getRolePermissionByUserId(String userId);

    List<SysRole> getRolesByUserId(String userId);

    List<Integer> getRoleIdsByUserId(String userId);

    List<Integer> getMenuIdsByRoleId(Integer roleId);

    List<Integer> getDeptIdsByRoleId(Integer roleId);

}
